package mya.mes.mdc.model.plc;

import mya.common.model.entity.BaseEntity;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import javax.persistence.Transient;

@MappedSuperclass
public abstract class PlcTagDef extends BaseEntity {

    @Column(length = 2)
    protected String tagPrefix;

    protected Integer tagIndex;

    /**
     * EXCEL文件总rdbTag
     */
    @Column(name = "MDC_TAG", length = 6)
    protected String mdcTag;

    @Column(name = "BIT_INDEX")
    protected Integer bitIndex;


    protected String enUs;

    protected String zhCN;

    /**
     * 车间
     */
    protected String shop;

    /**
     * 区域
     */
    protected String area;

    /**
     * 小区域
     */
    protected String section;

    /**
     * 具体的一个点或是设备
     */
    protected String point;


    public String getTagPrefix() {
        return tagPrefix;
    }

    public void setTagPrefix(String tagPrefix) {
        this.tagPrefix = tagPrefix;
    }

    public Integer getTagIndex() {
        return tagIndex;
    }

    public void setTagIndex(Integer tagIndex) {
        this.tagIndex = tagIndex;
    }

    public String getMdcTag() {
        return mdcTag;
    }

    public void setMdcTag(String mdcTag) {
        this.mdcTag = mdcTag;
    }

    public Integer getBitIndex() {
        return bitIndex;
    }

    public void setBitIndex(Integer bitIndex) {
        this.bitIndex = bitIndex;
    }

    public String getEnUs() {
        return enUs;
    }

    public void setEnUs(String enUs) {
        this.enUs = enUs;
    }

    public String getZhCN() {
        return zhCN;
    }

    public void setZhCN(String zhCN) {
        this.zhCN = zhCN;
    }


    public String getShop() {
        return shop;
    }

    public void setShop(String shop) {
        this.shop = shop;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getSection() {
        return section;
    }

    public void setSection(String section) {
        this.section = section;
    }

    public String getPoint() {
        return point;
    }

    public void setPoint(String point) {
        this.point = point;
    }

    @Transient
    public abstract PlcTagType getPlcTagType();


}
